相关疑难解决方法(0)

django urlfield http前缀

有没有人知道如何摆脱Django urlfield中的'http://'前缀.

我的意思是当我们将一个字段定义为urlfield并尝试输入一个url时,如果没有提供架构,django将自动添加'http://'前缀.我不想要那个前缀.

我尝试在clean_field和clean方法下删除它.它不起作用.

我深入研究了源代码.我看到django在UrlField类的'to_python'方法中添加'http://'.

有没有办法覆盖它以摆脱'http://'?

django url

5
推荐指数
1
解决办法
2833
查看次数

django 1.6自动从表单数据中删除或添加来自URLField的http://

我正在阅读Tango With Django教程,我在表格章节(http://www.tangowithdjango.com/book/chapters/forms.html)中遇到了一个我无法工作的功能.

不可否认,我正在使用Python 3.3和Django 1.6进行教程,但到目前为止,我已经能够完成教程了.

clean函数forms.py应该清理URLField:

class PageForm(forms.ModelForm):
    title = forms.CharField(max_length=128, help_text="input page title")
    url = forms.URLField(max_length=200, help_text="input page URL")
    views = forms.IntegerField(widget=forms.HiddenInput(), initial=0)

    def clean(self, cleaned_data):
        cleaned_data = super(PageForm, self).clean()
        url = cleaned_data.get('url')

        if url and not url.startswith('http://'):
            url = 'http://' + url
            cleaned_data['url'] = url

        return cleaned_data

    class Meta:
        model = Page
        fields = ('title', 'url', 'views')
Run Code Online (Sandbox Code Playgroud)

以下是add_page.html模板的摘录:

<form id="page_form" method="POST" action="/rango/category/{{category_name_url}}/add_page/">

        {% csrf_token %}
        {% for hidden in …
Run Code Online (Sandbox Code Playgroud)

django-forms django-views django-1.6

2
推荐指数
1
解决办法
3602
查看次数

标签 统计

django ×1

django-1.6 ×1

django-forms ×1

django-views ×1

url ×1