浅谈python-Django
2018-04-27鲁去非湖北大学知行学院
鲁去非 湖北大学知行学院
1 Django设计
1.1 如何设计模型model
首先,我们需要设计一个模型用于与数据库交互,例如我们要设计一个名片的模型。
设计完模型后,如果想让数据库中产生相应的表,首先需要生成迁移文件,然后完成迁移。这时,数据库中就会生成一个唯一对应的表,用于存储定义的数据。但是在这之前,我们还需要在setting.py文件中定义想要使用的数据库。
定义数据库需要输入相应的信息,例如:
1.2 如何设计Views视图
视图用于接收请求,获得数据,返回结果。这时我们先初步设计一个简单的视图
在django中,视图对WEB请求进行回应,视图接收reqeust对象作为第一个参数,包含了请求的信息,视图就是一个Python函数,被定义在views.py中。
HttpResponse对象:在django.http模块中定义了HttpResponse对象的API
HttpRequest对象由Django自动创建,HttpResponse对象由程序员创建,不调用模板,直接返回数据。这里我们返回了一条字符串,那么在浏览器中,就只有这一段字符串显示。
说到HttpResponse,就要说到它的两个子类HttpResponseRedirect、JsonResponse。
HttpResponseRedirect用 于 重 定 向, 例 如 return HttpResponseRedirect(‘hello'),触发的时候就会重新转向另一个页面。JsonResponse则用于返回json数据,一般用于异步请求,例如return JsonResponse({'list': 'abc'}),参数为字典对象。这么多种方法,可能会让人感到应用困难,那么 render()方法应运而生。
render(request, template_name, context)
结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的HttpResponse对象。request:该request用于生成response,template_name:要使用的模板的完整名称,context:添加到模板上下文的一个字典,视图将在渲染模板之前调用它。重定向函数则用redirect()来使用,为传递进来的参数返回HttpResponseRedirect。
1.3 如何配置Url
在settings.py文件中通过ROOT_URLCONF指定根级url的配置
urlpatterns是一个url()实例的列表
一个url()对象包括:1.正则表达式 2.视图函数 3.名称name
编写URLconf时注意:1.如果要从url中捕获一个值,需要在它周围设置一对圆括号 2.不需要添加一个前导的反斜杠,如应该写作'test/',而不应该写作'/test/' 3.每个正则表达式前面的r表示字符串不转义。
这里我们配置一个基础的url:urlpatterns = [url(r'^$',views.index),] 然后在浏览器中就可以看到我们定义的视图中的字符串了。
1.4 如何注册admin站点
首先要创建管理员的用户名和密码,在命令行输入:python manage.py createsuperuser
然后按照提示输入用户名、邮箱和密码,就可以完成管理员的创建。
接下来,在应用内的admin.py文件中完成注册,然后就可以在后台管理站点中维护模型数据了。 首先将models中的模型导入admin.py: from .models import * 接下来完成注册:admin.site.register(Article)
之后,登陆 127.0.0.1:8000/admin/ 就可以进入admin站点,然后输入账号密码,就可以维护模型数据了。