我有一个用PHP制作的网站,我需要创建一个django网站。我暂时删除了PHP代码(反正代码不多),但是我在理解django如何工作以及如何创建一个简单的模板来显示页面方面遇到了问题。
我知道那里有成千上万的书籍和指南,但大多数书都太深,或者做不了我需要的东西。我只需要两个简单的页面,page1和page2,可以通过domain.com/page1和domain.com/page2访问。
实现这一目标的最简单方法是什么?
到目前为止,这是我在urls.py文件中的内容,至少是正确的吗?
from django.conf.urls.defaults import patterns, include, url
urlpatterns = patterns('',
url(r'^$', 'mysite.views.page1', name='home'),
url(r'^$page2', 'mysite.views.page2', name='page2'),
)
现在显然不起作用,因为没有创建视图。
非常感谢任何帮助, // qwerty
答案 0 :(得分:3)
我建议你走过tutorial,你会发现Django初学者应该知道的一切。
答案 1 :(得分:2)
试试这个:
from django.conf.urls.defaults import patterns, include, url
from mysite.yourapp import views
urlpatterns = patterns('',
url(r'^$', 'mysite.views.page1', name='home'),
url(r'^page2/$', 'mysite.views.page2', name='page2'),
)
r'^ page1 / $ bit是python regex
在views.py文件中定义你的观点:
def page1:
#something
这可以帮助您开始使用http://docs.djangoproject.com/en/1.3/intro/tutorial01/
答案 2 :(得分:1)
好吧,我发现最直接的方法是:
1) urls.py
from django.urls import include, path
from . import views
from django.views.generic import TemplateView
urlpatterns = [
path('test.html', TemplateView.as_view(template_name='main/test.html')),
]
2) templates / test.html
Hello world!
经典3步:
1) urls.py
from django.urls import include, path
from . import views
urlpatterns = [
path('test.html', views.test, name='test'),]
2) views.py
from django.shortcuts import render
def test(request):
return render(request, 'test.html')
3) templates / test.html
Hello world!
答案 3 :(得分:0)
或多或少我使用的东西:
urlpatterns = patterns('',
(r'^$', 'news.views.page1'),
(r'^page2/$', 'news.views.page2'),
)
仅供您理解:一行的开头表示为^,结尾为$。所以^ $代表一条空行。有关正则表达式的更多信息:http://docs.python.org/library/re.html
答案 4 :(得分:0)
如果您使用的是旧版django而不是direct_to_template通用视图就是您所需要的。
from django.views.generic.simple import direct_to_template
urlpatterns = patterns('',
(r'^page1/$', direct_to_template, {'template': 'page1.html'}),
(r'^page2/$', direct_to_template, {'template': 'page2.html'}),
)
或者对于较新的django 1.3,您需要使用class based generic views
from django.conf.urls.defaults import *
from django.views.generic import TemplateView
urlpatterns = patterns('',
(r'^page1/', TemplateView.as_view(template_name="page1.html")),
(r'^page2/', TemplateView.as_view(template_name="page2.html")),
)
P.S。不要忘记创建page1.html
和page2.html
模板文件。