Django 的命令及簡單例子
第一步:下載mysql驅動
cmd進入建立好的django專案目錄:然後使用下面的命令建立一個專案testdj。
sudo /usr/lib/python3/dist-packages/django/bin/django-admin.py startproject testdj 然後建立一個應用testapp: sudo /usr/lib/python3/dist-packages/django/bin/django-admin.py startapp testapp第二步:在settings.py中配置mysql連線引數(沒有mysql的先裝mysql)
DATABASES
=
{
'default'
: {
'ENGINE'
:
'django.db.backends.mysql'
,
'NAME'
:
'資料庫名(你得先在mysql中建立資料庫)'
,
'USER'
:
'mysql使用者名稱(如root)'
,
'PASSWORD'
:
'密碼(如123456789)'
,
'HOST'
:
'域名(127.0.0.1或localhost)'
,
'PORT'
:
'埠號(3306)'
,
}
}
第三步:在models.py中建立model類
from
django.db
import
models
# Create your models here. 類似於MVC架構中的Model
class
Article(models.Model):
title
=
models.CharField(max_length
=
60
,default
=
'title'
)
content
=
models.TextField(null
=
True
)
第四步:根據model類建立資料庫表
1、cmd進入django專案路徑下
2、Python manage.py migrate #建立表結構,非model類的其他表,django所需要的
3、python manage.py makemigrations app名 #做資料遷移的準備
如:python manage.py makemigrations myblog myblog是我專案中的app名字
4、python manage.py migrate # 執行遷移,建立medel表結構
第五步:開始寫程式碼吧
首先說下需求,就是在程式碼裡向MySQL中插入一條記錄並顯示到頁面
1、在templates下新建一個模板,其實就是頁面,如index.html
<!DOCTYPE html>
<html lang
=
"en"
>
<head>
<meta charset
=
"UTF-8"
>
<title>Title<
/
title>
<
/
head>
<body>
<h2> {{article.title}}<
/
h2>
內容:{{ article.content }}
<
/
body>
<
/
html>
使用{{ }}在頁面進行資料顯示,這裡看下就明白
2、配置URL
1、在專案下的urls.py(注意是專案下的urls.py)配置url對映:
from
django.conf.urls
import
url,include
from
django.contrib
import
admin
#根url配置
urlpatterns
=
[
#url(頁面正則,響應的方法名稱)
url(r
'^admin/'
, admin.site.urls),
url(r
'^myblog/'
,include(
'myblog.urls'
)),
]
這裡注意有一個
include('myblog.urls')
是我們接下來要配置的二級url,在app下的urls.py中配置
from
django.conf.urls
import
url
from
django.contrib
import
admin
from
.
import
views
urlpatterns
=
[
#url(頁面正則,響應的方法名稱) ^index$:表示要以index開始和結束,正則約束
url(r
'^index/$'
,views.index),
]
現在一個路徑為'localhost:8000/myblog/index/'的訪問路徑就配好了,url(r'^index/$',views.index)就表示最終/myblog/index/這個路徑由views.py中的index方法來響應。
3、寫響應函式:如像資料中插入一個數據,並顯示在頁面上
from
django.shortcuts
import
render
from
django.http
import
HttpResponse
from
myblog.models
import
Article
# Create your views here.
def
index(request):
article
=
Article(title
=
'標題'
,content
=
'內容!'
)
article.save()
return
render(request,
'index.html'
,{
'article'
:article}
第六步:執行專案
我這裡使用的pycharm,點選執行按鈕即可,沒有pycharm的可使用:
python3 manage.py runserver 0.0.0.0:8000 來開啟伺服器,然後咋瀏覽器輸入 http://localhost:8000/myblog/index/, 打完收工!
提交表單例子:
newarticle.html in testapp/templates 資料夾
1 <html>
2 <head>
3 <meta charset = "UTF-8">
4 <title>新新增一篇文章</title>
5 </head>
6 <body>
7 <form method="POST">
8 {% csrf_token %}
9 標題:<input type="text" name="articletitle" value="" /><br/>
10 作者:<input type="text" name="author" value="" /><br/>
11 文章內容:<textarea name="content" clos="100" rows="10" wrap="true"></textarea><br/>
12 <input type="submit" value="提交" />
13 </form>
14 </body>
15 </html>
testapp/views.py:
1 #__*__ encoding:UTF-8 __*__
2 from django.shortcuts import render
3 from django.http import HttpResponse
4 from testapp.models import Article
5
6 # Create your views here.
12
13 def newarticle(request):
14 if request.method == "GET":
15 return render(request,'newarticle.html')
16 if request.method == "POST":
17 print(request)
18 articletitle = request.POST.get('articletitle')
19 content = request.POST.get('content')
20 author = request.POST.get('author')
21 article = Article(title=articletitle,content=content,author=author)
22 article.save()
23 return render(request,'index.html',{'article':article})
urls.py in testapp:
from django.conf.urls import url
2 from django.contrib import admin
3 from . import views
4 urlpatterns = [
5 url(r'^index/$',views.index),
6 url(r'^newarticle/$',views.newarticle),
7 ]
urls.py under testdj/ folder:
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^testapp/',include('testapp.urls')),
]
原文:https://www.jb51.net/article/118896.htm