zoukankan      html  css  js  c++  java
  • Django 基本设置

    建立django目录,为了独立区分app和主站的关系,需要把app完全和主站分离

    app/views.py

    from django.shortcuts import render
    from django.http import HttpResponseRedirect,HttpResponse
    import os
    from app.forms import MomentForm
    from django.core.urlresolvers import reverse
    from django.shortcuts import render
    
    # Create your views here.
    def moments_input(request):
        if request.method =='POST':
            form = MomentForm(request.POST)
            if form.is_valid():
                moment = form.save()
                moment.save()
                return HttpResponseRedirect(reverse('welcome'))#reverse连接urls内的name值,来进行反向查找网址
        else:
            form = MomentForm()
        PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
        return render(request,os.path.join(PROJECT_ROOT,'app/templates','moments_input.html'),{'form':form}) #连接到模版文件路径
    
    def welcome(request):
    
        return HttpResponse('HELLO')

    app/urls.py管理app中的url映射

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    from django.conf.urls import url
    from . import views
    
    urlpatterns = [
        url(r'moments_input',views.moments_input),
        url(r'wc',views.welcome,name='welcome'),# 添加name值,以便于reverse查找
    ]

    django/urls.py

    from django.conf.urls import url
    from django.contrib import admin
    from django.conf.urls import include
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^app/', include('app.urls')), # 建立与app/urls的路由建立连接关系
    ]

    app.models.py 建立模型

    # _*_ coding: utf-8 _*_
    from django.db import models
    
    # Create your models here.
    
    KIND_CHOICES = (
        ('python技术','python技术'),
        ('数据库技术','数据库技术'),
        ('经济学','经济学'),
        ('文体资讯','文体资讯'),
        ('个人心情','个人心情'),
        ('其他','其他'),
    )
    
    class Moment(models.Model):
        content = models.CharField(max_length=200)
        user_name = models.CharField(max_length=20,default='匿名')
        kind = models.CharField(max_length=20,choices=KIND_CHOICES,default=KIND_CHOICES[0])

    定义表单类app/form.py

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    from django.forms import ModelForm
    from app.models import Moment
    
    class MomentForm(ModelForm):
        class Meta:
            model = Moment  # 连接数据库与表单的关系
            fields = '__all__' # 导入所有字段

    创建模版文件app/templates/moments_input.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>消息输入页面</title>
    </head>
    <body>
    <form action="?" method="post">
        <fieldset>
            <legend>请输入并提交</legend>
            {{ form.as_p }}
            <input type="submit" value="submit"/>
        </fieldset>
    </form>
    </body>
    </html>

    使用自带管理界面app/admin.py

    from django.contrib import admin
    
    # Register your models here.
    from .models import Moment
    
    admin.site.register(Moment)

  • 相关阅读:
    SQLServer 2008数据库查看死锁、堵塞的SQL语句
    Jmeter(三)简单的HTTP请求(非录制)
    watir中不能打开页面中的URL超链接解决办法
    我要搬博客到这里来,请协助
    Jmeter(一)精简测试脚本
    性能测试机中存在大量的TIME_WAIT状态的连接,影响并发压力的发起
    ruby+watir随机而不重复获取Menu菜单的元素
    Eclipse中安装Ruby的插件org.rubypeople.rdt
    TCP连接各状态数量、以及TCP各状态变迁流程
    ruby+watirwatir3.0上实现快照/截图
  • 原文地址:https://www.cnblogs.com/Erick-L/p/7094242.html
Copyright © 2011-2022 走看看