1. 程式人生 > >Django 的命令及簡單例子

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