我有一个像这样的Django网址:
url(
r'^project_config/(?P<product>\w+)/(?P<project_id>\w+)/$',
'tool.views.ProjectConfig',
name='project_config'
),
Run Code Online (Sandbox Code Playgroud)
和我的views.py:
def ProjectConfig(request, product, project_id=None, template_name='project.html'):
...
# do stuff
Run Code Online (Sandbox Code Playgroud)
问题是我希望project_id参数是可选的.我想这样,project_id并且/project_config/都是同样有效的url模式,所以IF /project_config/12345abdce/传递,然后我可以使用它.就目前而言,如果我尝试访问没有project_id参数的url,我会得到404 .
我有以下django模板(http:// IP/admin/start /被分配给一个名为view的假想视图):
{% for source in sources %}
<tr>
<td>{{ source }}</td>
<td>
<form action="/admin/start/" method="post">
{% csrf_token %}
<input type="hidden" name="{{ source.title }}">
<input type="submit" value="Start" class="btn btn-primary">
</form>
</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
sources是objects.all()视图中引用的Django模型.每当单击"开始"提交输入时,我希望"开始"视图{{ source.title}}在返回呈现页面之前使用函数中的数据.如何将信息(在本例中为隐藏输入)收集到Python变量中?
说没有简单的标签只写一些http get查询参数是否正确?如果只需要打印一个http get查询参数,例如?q=w
我可以直接将q值与模板标签一起使用,还是需要复制请求处理程序中的值?是否有可能更直接地将值(所有值)从http get传递给模板?因为复制每个值似乎重复多次相同的处理
template_values = {'q':self.request.get('q'),...
Run Code Online (Sandbox Code Playgroud)
应该可以迭代参数集.你能推荐那个或任何其他解决方案吗?
具有数字参数的Django url模式是:
url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail')
Run Code Online (Sandbox Code Playgroud)
如果我的poll_id不是数字而是字符串,那么正确的语法是什么?
假设我有一个具有php样式参数的url,即:
http://example.com/blah?param1=val1¶m2=val2
Run Code Online (Sandbox Code Playgroud)
我想将它们的值放在生成的模板HTML中.
我该如何实现这一目标?
我希望能够在页面模板中访问某人放置在GET变量中的一些信息(当然是HTML转义.)我将如何进行此操作?我知道你可以通过视图获取这些信息,但在这种情况下,我宁愿处理HTML方面.
我有一个端点
http://127.0.0.1:8000/auction/?status=['omn','aad']
Run Code Online (Sandbox Code Playgroud)
我需要获取状态列表,因此我执行以下操作
print (request.GET.getlist('status'))
Run Code Online (Sandbox Code Playgroud)
它归还给我
[u"['omn','aad']"]
Run Code Online (Sandbox Code Playgroud)
这是一个列表的列表.
然后我使用ast.literal_eval将列表的字符串转换为列表.有没有直接的方法来获取状态列表?
我是Django和Python的新手,并且花了几天时间试图解决这个问题.我在其他线程中尝试了几种方法,但我认为我缺少一些基本概念,因为它们都没有为我工作.这是我正在尝试做的事情:
我正在使用ModelForm,并且我已经创建了一个用于添加包含外键的记录的表单.我希望默认情况下设置此值以匹配我链接的页面上显示的记录.[编辑后显示的代码显示建议的更正].
这是来自views.py的相关代码:
def add_sighting(request):
unit = request.GET.get('unit')
form = SightingForm(request.POST or None, initial={'unit':unit})
if form.is_valid():
sighting = form.save(commit=False)
sighting.save()
return redirect(index)
return render_to_response('trainapp/add_sighting_form.html',
{'unit': unit, 'sighting_form': form},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
以下是add_sighting_form.html的相关代码:
<form action="/trainapp/add_sighting/" method="post">
{% csrf_token %}
<table>
{{ sighting_form.as_table }}
</table>
<input type="submit" value="Save" />
</form>
Run Code Online (Sandbox Code Playgroud)
这是我链接的模板中的相关代码:
<p><a href="/trainapp/add_sighting/?unit={{ unit.id }}">Add sighting</a></p>
Run Code Online (Sandbox Code Playgroud) 我有一个自定义登录URL /视图/模板.我将@login_required装饰器用于需要登录的页面(我们称之为my_page).试图访问
my_site.com/my_page
Run Code Online (Sandbox Code Playgroud)
正确的电话
my_site.com/login/?next=/my_page/
Run Code Online (Sandbox Code Playgroud)
但我的视图无法解析?next =/my_page/my的值,而是总是重定向到我的默认值,即/ qa /在我的视图中:
def login_with_email(request):
error = ''
if request.method == 'POST':
if not request.POST.get('email', ''):
error = 'Please enter your email and password'
if not request.POST.get('password', ''):
error = 'Please enter your email and password'
if not error:
email = request.POST['email']
password = request.POST['password']
try:
user = User.objects.get(email=email)
user = authenticate(username=user.username, password=password)
if user is not None:
if user.is_active:
login(request, user)
# ***
next_page = request.GET.get('next', '/qa/')
response = …Run Code Online (Sandbox Code Playgroud) 我想将以下uri路由到视图中;
localhost:8000/?tag=Python
至
def index_tag_query(request, tag=None):
在我的网址中,我尝试了以下正则表达式模式,但即使正则表达式看起来不错,也似乎没有捕获请求;
url(r'^\?tag=(?P<tag>\w+)/$', 'links.views.index_tag_query'),
url(r'^\/?\?tag=(?P<tag>\w+)/$', 'links.views.index_tag_query'),
url(r'^\/?\?tag=(?P<tag>.*)/$', 'links.views.index_tag_query'),
是什么赋予了?
django ×9
python ×5
django-views ×2
django-forms ×1
django-urls ×1
foreign-keys ×1
modelform ×1
post ×1
regex ×1