大家好,又见面了,我是你们的朋友全栈君。
创建项目
代码语言:javascript复制django-admin.py startproject HelloWorld
就会在当前目录下创建一个名为HelloWorld的文件夹。
启动项目
代码语言:javascript复制cd HelloWorld
python3 manage.py runserver
创建视图
在helloworld的文件夹下新建一个views.py的文件并添加内容
代码语言:javascript复制from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! "
并打开urls.py的文件写入
代码语言:javascript复制from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.hello),
]
这时候访问http://127.0.0.1:8000/便可以访问到HelloWorld
Django模板
在项目内新建一个templates文件夹并创建一个runoob.html的文件
代码语言:javascript复制<h1>{
{
hello }}</h1>
向Django说明模板文件的路径,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为
代码语言:javascript复制'DIRS': [BASE_DIR / "templates"],
在views.py添加新的内容
代码语言:javascript复制from django.shortcuts import render
def runoob(request):
context ={
}
context['hello'] = 'Hello World!'
return render(request,'runoob.html',context)
有了方法之后,要在urls.py内添加新的路径
代码语言:javascript复制from . import views
urlpatterns = [
path('runoob/', views.runoob),
]
在runoob的页面中添加了hello这个变量,然后在view用context进行承接,并将其赋值为Hello World!,然后在 利用render进行渲染。就实现了数据和视图分离。 而在真正的使用过程中,应该是这样的:
代码语言:javascript复制def runoob(request):
views_name = "我在view内进行赋值"
return render(request,'runoob.html',{
"hello":views_name})
也可以支持类似数组的写法在runoob.html页面内进行定义 views.py:
代码语言:javascript复制def runoob(request):
views_array = ["元素1","元素2","元素3"]
return render(request,'runoob.html',{
"hello":views_array})
runoob.html
代码语言:javascript复制<h1>{
{
hello }}</h1>
<h2>{
{
hello.1}}</h2>
进行访问,
templates 中的 runoob.html中,可以用 .键 取出对应的值。
先在view.py中进行赋值
代码语言:javascript复制def runoob(request):
views_array = {
"name":"我是name值"}
return render(request,'runoob.html',{
"hello":views_array})
在runoob.html中取值
代码语言:javascript复制<h1>{
{
hello }}</h1>
<h2>{
{
hello.name}}</h2>
…未完待续
Django数据库Mysql
首先需要有一个数据库runoob 并在setting.py中修改信息
代码语言:javascript复制DATABASES = {
'default':
{
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'runoob', # 数据库名称
'HOST': '127.0.0.1', # 数据库地址,本机 ip 地址 127.0.0.1
'PORT': 3306, # 端口
'USER': 'lqy', # 数据库用户名
'PASSWORD': 'qwe123', # 数据库密码
}
}
并在__init__.py中引入模块和进行配置
代码语言:javascript复制import pymysql
pymysql.install_as_MySQLdb()
新建一个TestModel应用来应用这个模 型
代码语言:javascript复制django-admin.py startapp TestModel
在TestModel的models.py中新建一个类
代码语言:javascript复制class Test(models.Model):
name = models.CharField(max_length=20)
其中Test为类名 == 数据库的表名且继承了models.Model。 name就相当于数据库的列名 属性为char 接下来在 settings.py 中找到INSTALLED_APPS这一项,在最后添加上
代码语言:javascript复制INSTALLED_APPS = [
'TestModel',
}
在终端运行
代码语言:javascript复制$ python3 manage.py migrate # 创建表结构
$ python3 manage.py makemigrations TestModel # 让 Django 知道我们在我们的模型有一些变更
$ python3 manage.py migrate TestModel # 创建表结构
个人踩坑 在执行第二个语句的时候一直提示如下错误
在settings.py中将语言改成
代码语言:javascript复制LANGUAGE_CODE = 'zh-hans'
#__init__.py这个页面中添加第二行
import pymysql
pymysql.version_info = (1, 4, 0, "final", 0)
pymysql.install_as_MySQLdb()
以上我们就完成了数据库的创建。
数据库的操作
用到再来写
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。